home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 5 / Gekikoh Dennoh Club Vol. 5 (Japan).7z / Gekikoh Dennoh Club Vol. 5 (Japan) (Track 01).bin / netbsd / misc / shutdown.loc < prev   
Text File  |  1998-09-29  |  2KB  |  81 lines

  1. #!/bin/sh
  2. #
  3. # `/etc/shutdown.local'
  4. # executed by poffd(8)
  5.  
  6. SCSI_ID_OF_MO=5            # eject the medium of this ID of SCSI device.
  7. GOODBYE_CHIME=/etc/byebye.pcm    # ring this file at shutdown.
  8. PATH=/bin:/sbin:/usr/bin:/usr/sbin
  9.  
  10. ## check the argument.
  11. if [ $# != 1 ]; then
  12.   code=XXX
  13. else
  14.   code=$1
  15. fi
  16.  
  17.  
  18. ## if an X server process is running, kill it and do not shutdown.
  19. if [ $code = 0 ]; then
  20.   for xserver in X X68Mono /usr/X11R6/bin/X /usr/X11R6/bin/X68Mono; do
  21.     xserver=`echo $xserver | sed 's-/-\\\\/-g'`
  22.     serverpid=`ps ax | awk '/[0-9]?[0-9]:[0-9][0-9]\.[0-9][0-9] '"${xserver}"'/ {print $1}'`
  23.     if [ -n "$serverpid" ]; then
  24.       kill $serverpid
  25.       exec poffd "$0 %"
  26.       exit 0
  27.     fi
  28.   done
  29. fi
  30.  
  31.  
  32. ## stop Wnn kana-kanji conversion service.
  33. if [ -S /tmp/jd_sockV4 -a -x /usr/local/bin/Wnn4/wnnkill ]; then
  34.     /usr/local/bin/Wnn4/wnnkill
  35. fi
  36.  
  37.  
  38. ## stop Canna kana-kanji conversion service.
  39. if [ -f /var/spool/canna/lock/.CANNALOCK -a -x /usr/local/canna/bin/cannakill ]; then
  40.     /usr/local/canna/bin/cannakill
  41. fi
  42.  
  43.  
  44. ## stop DeleGate deamen and clean the log files.
  45. if [ -f /tmp/delegate/pid/10080 ]; then
  46.     kill `cat /tmp/delegate/pid/10080`
  47.     rm -f /var/spool/delegate/log/10080*
  48. fi
  49. if [ -f /tmp/delegate/pid/10081 ]; then
  50.     kill `cat /tmp/delegate/pid/10081`
  51.     rm -f /var/spool/delegate/log/10081*
  52. fi
  53.  
  54.  
  55. ## eject the MO medium if mounted.
  56. MODEVICE=`mount | awk '/^\/dev\/sd'${SCSI_ID_OF_MO}'[a-h]/ {print $1}'`
  57. test -z "$MODEVICE" || ( umount $MODEVICE && eject $MODEVICE )
  58.  
  59.  
  60. ## ring the good-bye chime.
  61. if [ -f ${GOODBYE_CHIME} ]; then
  62.     cat ${GOODBYE_CHIME} > /dev/adpcm &
  63. fi
  64.  
  65.  
  66. ## choose the wall notice.
  67. case $code in
  68.   0)    mes="The front power switch has been turned off!!" ;;
  69.   1)    mes="The external power signal has been turned off!!" ;;
  70.   2)    mes="The system shutdown time has come!!" ;;
  71.   XXX)    mes="" ;;
  72.   *)    mes="????" ;;
  73. esac
  74.  
  75.  
  76. ## do actual shutdown, at last!!
  77. sync
  78. sync
  79. sync
  80. shutdown -r now "$mes"
  81.